package com.changgou.oauth.config;

import com.changgou.oauth.util.AdminToken;
import feign.RequestInterceptor;
import feign.RequestTemplate;

import org.springframework.context.annotation.Configuration;

/*
用来在调用feign的时候，添加生成令牌，便于让此服务调用其他的服务
 */
@Configuration
public class TokenRequestInterceptor implements RequestInterceptor {
    @Override
    public void apply(RequestTemplate requestTemplate) {
        /***
         *从数据库中加载查询用户信息
         * 1，没有令牌，feign调用之前，生成令牌（admin）
         * 2，feign调用之前，令牌需要携带过去
         * 3，feign调用之前  ，令牌需要存放在header文件中
         * 4，请求-》feign调用-》拦截RequestInterceptor->feign调用之前执行拦截
         * 大概思路就是搞个拦截器，然后在调用feign的时候拦截，然后把令牌放进去
         */
        // 1，生成一个admin令牌
        String token = AdminToken.adminToken();
        //token前面必须加bearer
        //requestTemplate 将请求进行一定的处理
        requestTemplate.header("Authorization","bearer"+token);
    }
}
